맨위로가기

HSV 색 공간

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

HSV 색 공간은 색상(Hue), 채도(Saturation), 명도(Value)의 세 가지 요소로 색상을 표현하는 방식이다. 색상은 색상환에서 각도로 표현되며, 채도는 색상의 진한 정도, 명도는 밝기를 나타낸다. HSV는 원기둥 또는 원뿔 형태의 3차원 도형으로 시각화되며, 컴퓨터 그래픽스 애플리케이션에서 색상 선택에 활용된다. HSV 색 공간은 인간의 색 지각 방식과 유사하여, RGB나 CMYK보다 직관적이며, RGB 색상 공간과의 변환을 위한 수식이 존재한다.

더 읽어볼만한 페이지

  • 색 공간 - SÉCAM
    SECAM은 프랑스에서 개발된 아날로그 컬러 텔레비전 방송 방식으로, PAL에 비해 수직 색 해상도가 낮고 아날로그 편집이 어려운 단점이 있으며, 프랑스의 옛 식민지, 일부 동유럽 국가, 소련 등에서 사용되었으나 현재는 사용 국가가 크게 감소하였다.
  • 색 공간 - PAL
    PAL은 발터 브루흐가 개발한 컬러 텔레비전 방송 표준으로, 위상 오차 자동 보정 기능을 가지며, 다양한 변종이 존재했으나 디지털 방송으로 전환되며 사용이 감소하고, 색상 정보 인코딩 방식을 나타낸다.
HSV 색 공간
개요
종류색 공간
개발알비 레이 스미스
개발 시기1978년
구성 요소
색상 (Hue)색의 종류 (빨강, 노랑, 초록 등)
채도 (Saturation, Chroma)색의 선명도
명도 (Value, Brightness)색의 밝기
설명
특징색상, 채도, 명도를 직관적으로 조절 가능
인간의 색 인지 방식과 유사
활용 분야컴퓨터 그래픽스
이미지 편집
색상 선택 도구
관련 색 공간RGB 색 공간
CMYK 색 공간
HSL 색 공간
색상 (H)
범위0° ~ 360°
설명색상의 종류를 각도로 표현
0°는 빨강, 120°는 초록, 240°는 파랑에 해당
채도 (S)
범위0% ~ 100%
설명색상의 선명도를 백분율로 표현
0%는 무채색 (회색), 100%는 가장 선명한 색
명도 (V)
범위0% ~ 100%
설명색상의 밝기를 백분율로 표현
0%는 검정색, 100%는 가장 밝은 색
용어 (영어)
Hue색상
Saturation, Chroma채도
Value, Brightness명도

2. HSV 색 공간의 구성 요소

HSV 모델은 컴퓨터 그래픽스 애플리케이션에서 주로 사용되며, 사용자는 이를 통해 그래픽 요소의 색상을 선택한다. 이때 HSV 색상환이 자주 사용되는데, 원 모양의 영역에 색상이 표현되고, 삼각형 영역에서 채도와 명도를 조절할 수 있다. 삼각형의 수평축은 명도를, 수직축은 채도를 나타낸다. 따라서 사용자는 원형 영역에서 색상을 선택하고, 삼각형 영역에서 채도와 명도를 조절하는 방식으로 원하는 색을 찾는다.

HSV 색 공간의 원뿔


HSV 색 공간의 원기둥


HSV 모델은 원뿔이나 원기둥 형태로 시각화되기도 한다. 원뿔 표현에서는 색상이 색상환의 삼차원 원뿔 모양 구조로 그려지며, 채도는 원뿔 중심으로부터의 거리, 명도는 원뿔 꼭지점으로부터의 거리로 나타낸다. 원뿔 대신 육각뿔 형태로 표현되기도 하는데, 이는 HSV 색 공간 전체를 단일 객체로 시각화하는 데 적합하다. 원기둥 표현에서는 색상이 원기둥 외주를 따라 변하고, 채도는 중심으로부터의 거리에 따라, 명도는 꼭지점부터 바닥으로 향하면서 변화한다. 원기둥 표현은 수학적으로 엄밀하다고 여겨질 수 있지만, 검정에 가까워질수록 채도와 색상의 정밀도가 감소하는 한계가 있다. 또한 컴퓨터의 RGB 값 저장 범위 제한 및 인간의 색상 인지 능력 한계로 인해, 대부분의 경우 원뿔 형태의 시각화가 더 현실적이다.

HSV 모델은 RGBCMYK와 같은 다른 색 모델보다 인간이 색을 지각하는 방식과 유사하여 그래픽 디자이너들이 선호하는 경향이 있다. RGB와 CMYK가 가법 혼합과 감산 혼합을 기반으로 원색의 조합으로 색을 정의하는 반면, HSV는 "이 색은 무슨 색인가?", "선명도는 어느 정도인가?", "밝거나 어둡게 하려면 어떻게 해야 하는가?"와 같이 인간에게 더 친숙한 방식으로 색 정보를 제공한다.

HSV 좌표는 파장이나 진폭과 같은 물리적인 빛의 성질과 직접 대응되지 않는다.

2. 1. 색상 (Hue)

색상(Hue)은 가시광선 스펙트럼을 고리 모양으로 배치한 색상환에서 가장 파장이 긴 빨강을 0°로 하였을 때 상대적인 배치 각도를 의미한다. H 값은 0°~360°의 범위를 가지며, 360°와 0°는 같은 색상인 빨강을 가리킨다. HSV 모델은 주로 컴퓨터 그래픽스 애플리케이션에서 사용되며, 사용자는 HSV 색상환을 통해 개별 그래픽 요소에 적용할 색상을 선택한다. HSV 색상환은 원 모양의 영역에 색상이 표현되고, 삼각형 영역에서 채도와 명도를 조절할 수 있다.

2. 2. 채도 (Saturation)

채도값 S는 특정한 색상의 가장 진한 상태를 100%로 하였을 때 진함의 정도를 나타낸다. 채도값 0%는 같은 명도의 무채색을 나타낸다.

HSV 모델은 통상적으로 컴퓨터 그래픽스 애플리케이션에 사용된다. 여러 애플리케이션에서 사용자는 개별 그래픽 요소에 적용할 색상을 선택해야 한다. 이러한 경우 HSV 색상환이 자주 사용된다. 이것은 원 모양의 영역에 색상이 표현된 것으로, 그 외에 삼각형 영역이 채도와 명도를 표현하는 데 사용될 수 있다. 삼각형의 수평축은 명도를 나타내고, 수직축은 채도에 해당한다. 이러한 형식의 인터페이스에서는, 첫 번째 조작으로 환형 영역에서 색상을 선택하고, 이어서 삼각형 영역에서 원하는 채도와 명도를 선택한다.

HSV 모델의 다른 시각화 방법은 원뿔이다. 이 표현에서는 색상이 색상환의 삼차원 원뿔 모양 구조로 그려진다. 채도는 원뿔의 중심으로부터의 거리로 나타낸다. 원뿔이 아닌 육각형의 추체(육각뿔)로 표현하는 경우도 있다. 이 방법은 단일 객체로 HSV 색 공간 전체를 시각화하는 데 적합하다. 삼차원 형태이므로 이차원 컴퓨터 인터페이스에서 색상을 선택하는 데 사용하기는 어렵다.

HSV 색 공간은 원기둥 모양의 객체로 시각화되기도 한다. 위와 마찬가지로 색상은 원기둥의 외주를 따라 변화하고, 채도는 중심으로부터의 거리에 따라 변화한다. 이러한 표현은 HSV 색 공간의 모델로서 수학적으로 엄밀하다고 생각될 수 있지만, 시각화된 채도 레벨과 색상의 정밀도는 검정에 가까워질수록 감소한다. 게다가, 일반적으로 컴퓨터는 유한한 범위로 RGB 값을 저장한다. 정밀도의 제한은 인간의 색상 인지 능력의 한계와도 관련되어 있으며, 대부분의 경우 원뿔에 의한 시각화가 더 현실적이라고 여겨진다.

2. 3. 명도 (Value)

명도(Value)는 흰색, 빨간색 등을 100%, 검은색을 0%로 하였을 때 밝은 정도를 나타낸다.

HSV 모델은 통상적으로 컴퓨터 그래픽스 애플리케이션에 사용된다. 사용자는 여러 애플리케이션에서 개별 그래픽 요소에 적용할 색상을 선택해야 하는데, 이때 HSV 색상환이 자주 사용된다. HSV 색상환은 원 모양의 영역에 색상이 표현되어 있으며, 삼각형 영역으로 채도와 명도를 표현할 수 있다. 삼각형의 수평축은 명도를, 수직축은 채도를 나타낸다. 이러한 인터페이스에서는 먼저 원형 영역에서 색상을 선택하고, 삼각형 영역에서 원하는 채도와 명도를 선택한다.

HSV 모델은 원뿔로 시각화할 수 있다. 이 표현에서 색상은 색상환의 삼차원 원뿔 모양 구조로 그려진다. 채도는 원뿔 중심으로부터의 거리, 명도는 원뿔 꼭지점으로부터의 거리로 나타낸다. 원뿔 대신 육각형의 추체(육각뿔)로 표현하기도 하는데, 이는 단일 객체로 HSV 색 공간 전체를 시각화하는 데 적합하다. 다만 삼차원 형태이므로 이차원 컴퓨터 인터페이스에서 색상을 선택하기는 어렵다.

HSV 색 공간은 원기둥 모양으로 시각화되기도 한다. 색상은 원기둥 외주를 따라 변하고, 채도는 중심으로부터의 거리에 따라 변하며, 명도는 꼭지점부터 바닥으로 향하면서 변화한다. 이러한 표현은 HSV 색 공간 모델로서 수학적으로 엄밀하다고 생각될 수 있지만, 시각화된 채도 레벨과 색상 정밀도는 검정에 가까워질수록 감소한다. 또한, 컴퓨터는 일반적으로 유한한 범위로 RGB 값을 저장하는데, 이러한 정밀도 제한은 인간의 색상 인지 능력의 한계와도 관련되어 있어 대부분 원뿔로 시각화하는 것이 더 현실적이다.

3. HSV 색 공간 모형

HSV 색 공간 모형은 원기둥 또는 거꾸로 선 원뿔 모양의 입체 도형이다.

HSV 모델은 통상적으로 컴퓨터 그래픽스 애플리케이션에 사용된다. 사용자는 개별 그래픽 요소에 적용할 색상을 선택해야 하는데, 이때 HSV 색상환이 자주 사용된다. 색상환은 원 모양의 영역에 색상이 표현된 것으로, 별도의 삼각형 영역이 채도와 명도를 표현한다. 삼각형의 수평축은 명도, 수직축은 채도를 나타낸다. 인터페이스에서는 먼저 환형 영역에서 색상을 선택하고, 삼각형 영역에서 채도와 명도를 선택한다.



HSV 모델은 원뿔 모형으로 시각화할 수 있다. 이 표현에서는 색상이 색상환의 삼차원 원뿔 모양 구조로 그려진다. 채도는 원뿔의 중심으로부터의 거리, 명도는 원뿔의 꼭지점으로부터의 거리로 나타낸다. 원뿔이 아닌 육각형의 추체(육각뿔)로 표현하는 경우도 있다. 이 방법은 단일 객체로 HSV 색 공간 전체를 시각화하는 데 적합하다. 삼차원 형태이므로 이차원 컴퓨터 인터페이스에서 색상을 선택하는 데 사용하기는 어렵다.

3. 1. 원기둥 모형



구성요소의 정의에 따라 HSV 색 공간은 그림과 같은 원기둥으로 표현할 수 있다. 원기둥의 표면과 내부의 한 점은 하나의 색을 나타낸다.

  • 색상값은 각도로 표현되며 지정한 색이 원기둥의 수평 단면의 어느 방향에 위치하는지를 지정한다.
  • 채도는 반지름에 해당하며 정 중앙에 무채색이 위치하며 원기둥의 겉면은 가장 진한 채도를 갖는다.
  • 명도는 높이에 해당하며 위로 갈수록 색이 밝다.


HSV 모델은 통상적으로 컴퓨터 그래픽스 애플리케이션에 사용된다. 여러 애플리케이션에서 사용자는 개별 그래픽 요소에 적용할 색상을 선택해야 한다. 이러한 경우 HSV 색상환이 자주 사용된다. 이것은 원 모양의 영역에 색상이 표현된 것으로, 그 외에 삼각형 영역이 채도와 명도를 표현하는 데 사용될 수 있다. 위의 그림에서 삼각형의 수평축은 명도를 나타내고, 수직축은 채도에 해당한다. 이러한 형식의 인터페이스에서는, 첫 번째 조작으로 환형 영역에서 색상을 선택하고, 이어서 삼각형 영역에서 원하는 채도와 명도를 선택한다.

HSV 색 공간은 원기둥 모양의 객체로 시각화되기도 한다. 위와 마찬가지로 색상은 원기둥의 외주를 따라 변화하고, 채도는 중심으로부터의 거리에 따라 변화한다. 명도 또한 꼭지점부터 바닥으로 향하면서 변화한다. 이러한 표현은 HSV 색 공간의 모델로서 수학적으로 엄밀하다고 생각될 수 있지만, 시각화된 채도 레벨과 색상의 정밀도는 검정에 가까워질수록 감소한다. 게다가, 일반적으로 컴퓨터는 유한한 범위로 RGB 값을 저장한다. 정밀도의 제한은 인간의 색상 인지 능력의 한계와도 관련되어 있으며, 대부분의 경우 원뿔에 의한 시각화가 더 현실적이라고 여겨진다.

3. 2. 원뿔 모형



원뿔모형은 원기둥 모형을 보다 현실적으로 수정한 것이다. 명도 0%는 오직 검정만을 의미하기 때문에 단 하나의 점으로 표현되며 원뿔의 꼭짓점에 해당한다. 또한 실제 색상은 진하지 않을수록 채도값의 변화에 따른 색상 변화가 크지 않기 때문에 높은 명도에 비해 채도값이 나타내는 폭은 줄어든다. 이와 같은 사실을 원기둥 모형에 반영한 것이 원뿔모형이다. 오른쪽 그림을 보면 높은 명도에서는 넓은 폭의 채도 변화를 보이고 낮은 명도에서는 채도 변화가 크지 않은 것을 확인할 수 있다.

HSV 모델의 다른 시각화 방법은 원뿔이다. 이 표현에서는 색상이 색상환의 삼차원 원뿔 모양 구조로 그려진다. 채도는 원뿔의 중심으로부터의 거리, 명도는 원뿔의 꼭지점으로부터의 거리로 나타낸다. 원뿔이 아닌 육각형의 추체(육각뿔)로 표현하는 경우도 있다. 이 방법은 단일 객체로 HSV 색 공간 전체를 시각화하는 데 적합하다. 삼차원 형태이므로 이차원 컴퓨터 인터페이스에서 색상을 선택하는 데 사용하기는 어렵다.

4. HSV 색 공간과 색 지각

그래픽 디자이너RGBCMYK와 같은 모델보다 HSV 컬러 모델을 선호하는 경우가 있는데, 이는 HSV 모델과 인간이 색을 지각하는 방법이 유사하기 때문이다. RGB와 CMYK는 각각 가법 혼합과 감산 혼합에 의한 모델이며, 둘 다 원색의 조합에 의해 색이 정의된다. 이에 반해 HSV는 "이 색은 무슨 색인가, 선명도는 어느 정도인가, 밝게 하거나 어둡게 하려면 어떻게 해야 하는가" 등 더 인간 친화적인 내용으로 색에 대한 정보캡슐화한다. HLS 색 공간도 마찬가지로 직관적으로 이해하기 쉽다.

HSV 삼자극치 공간은 방사 측정된 물리적인 파워 스펙트럼에 일대일로 대응시킬 수 없다. 따라서 HSV 좌표와 파장이나 진폭과 같은 물리적인 빛의 성질 사이를 대응시키는 방법은 존재하지 않는다. 만약 물리적인 직관이 필요하다면, "색채 측정"의 심리 물리적 기술을 사용하여 HSV 좌표계를 의사적으로 변환하는 것이 가능하다.


  • 색상은 색의 주 파장을 정의하며, 스펙트럼을 따라 위치하는 파장을 의미한다. 단, 인디고에서 빨강 사이(대략 240 - 360도)는 순수한 자색선(퓨어 퍼플의 선)을 나타낸다.
  • 만약 색상 지각이 재현된다면, 실제 단색광에서는 주 파장에 위치하는 순수한 주파수 스펙트럼 색을 이용하며, "탈포화"는 적용된 주 파장의 빈도 분포 또는 단색광에 같은 힘의 양의 빛(예: 흰색)을 더하는 것과 대략 같아질 것이다.
  • 명도는 스펙트럼의 파워 총량 또는 빛의 파형의 최대 진폭과 거의 유사하다. 그러나 실제로는 명도가 최대인 스펙트럼 성분(통계학의 "최빈값", 이 분포에 직교하며 누적된 힘이 아니다)에 가깝다는 것을 다음 방정식으로부터 알 수 있다.

5. HSV와 RGB 간 변환

RGB 값과 HSV 값은 서로 변환할 수 있다. RGB에서 HSV로의 변환, HSV에서 RGB로의 변환 모두 가능하다.

5. 1. RGB에서 HSV로 변환

R, G, B가 각각 0.0을 최소, 1.0을 최댓값으로 하는 0.0에서 1.0 범위에 있고, (R, G, B)로 정의된 색이 주어졌을 때, 이에 해당하는 (H, S, V) 값은 다음과 같이 계산할 수 있다.

R, G, B 값 중 최댓값을 MAX, 최솟값을 MIN이라고 하면, 다음 식으로 나타낼 수 있다.

:

\begin{align}

H &=

\begin{cases}

\text{정의되지 않음,} & \text{if } \mathrm{MIN} = \mathrm{MAX} \\

60 \times \frac{G - R}{\mathrm{MAX} - \mathrm{MIN}} + 60, & \text{if } \mathrm{MIN} = B \\

60 \times \frac{B - G}{\mathrm{MAX} - \mathrm{MIN}} + 180, & \text{if } \mathrm{MIN} = R \\

60 \times \frac{R - B}{\mathrm{MAX} - \mathrm{MIN}} + 300, & \text{if } \mathrm{MIN} = G

\end{cases} \\

V &= \mathrm{MAX}

\end{align}


  • 원뿔 모델: S = \mathrm{MAX} - \mathrm{MIN} \,
  • 원통 모델: S = \frac {\mathrm{MAX} - \mathrm{MIN}} {\mathrm{MAX}}


결과는 (H, S, V) 형식이다. H는 0.0에서 360.0까지 변화하며, 색상이 표시된 색상환을 따라 각도로 표현된다. S와 V는 0.0에서 1.0까지 변화하는 채도 및 명도이다. 각 좌표계에서 H의 범위는 0에서 360까지이지만, 그 범위를 초과하는 H는 360.0으로 나눈 나머지(또는 모듈라 연산)로 이 범위에 대응시킬 수 있다. 예를 들어 -30은 330과 같고, 480은 120과 같다.

이 식은 HSV의 다른 성질도 나타낸다.

  • MAX = MIN (즉, S = 0)일 때, H는 정의되지 않는다. HSV 색 공간의 그림을 보면, S = 0이라면 이 색은 중앙의 회색 직선 주위에 있으며, 채도가 없으므로 각 좌표에는 의미가 없다.

  • 원통 모델에서 MAX = 0 (즉, V = 0)일 때, S는 정의되지 않는다. 원뿔 모양의 그림을 보면, V = 0이라면 이 색은 완전한 검정색이며, 색상과 채도가 없다. 따라서 원뿔 모양의 그림은 단일 점으로 뭉개지고, 이 점에서는 각도와 각 좌표계도 무의미하다.


다음은 HSV/RGB 모든 요소를 0.0~1.0의 부동 소수점으로 표현한 원통 모델의 경우 변환 처리 예시이다.

```java

// (float r, float g, float b)

float max = r > g ? r : g;

max = max > b ? max : b;

float min = r < g ? r : g;

min = min < b ? min : b;

float h = max - min;

if (h > 0.0f) {

if (max == r) {

h = (g - b) / h;

if (h < 0.0f) {

h += 6.0f;

}

} else if (max == g) {

h = 2.0f + (b - r) / h;

} else {

h = 4.0f + (r - g) / h;

}

}

h /= 6.0f;

float s = (max - min);

if (max != 0.0f)

s /= max;

float v = max;

5. 2. HSV에서 RGB로 변환

HSV 색 공간에서 RGB로 변환하는 방법은 다음과 같다.

H는 색상을 나타내는 각도로 0.0에서 360.0 사이의 값을 가진다. S는 채도, V는 명도를 나타내며, 각각 0.0에서 1.0 사이의 값을 가진다. (H, S, V) 값으로 정의된 색상은 다음 공식을 통해 (R, G, B) 값으로 변환할 수 있다.

S가 0.0이면, 최종 색상은 무채색(회색)이다. 이 경우 R, G, B는 모두 V와 같고, H는 의미가 없다.

S가 0.0이 아닌 경우, 다음 공식을 사용하여 변환한다.

  • 원통 모델: C = V \times S
  • 원뿔 모델: C = S




\begin{align}

H^\prime &= \frac{H}{60^\circ} \\

X &= C (1 - |H^\prime \;\bmod 2 - 1|)\\

(R, G, B) &= (V - C)(1, 1, 1) +\begin{cases}

(0, 0, 0) &\mbox{if } H \mbox{ is undefined} \\

(C, X, 0) &\mbox{if } 0 \leq H^\prime < 1 \\

(X, C, 0) &\mbox{if } 1 \leq H^\prime < 2 \\

(0, C, X) &\mbox{if } 2 \leq H^\prime < 3 \\

(0, X, C) &\mbox{if } 3 \leq H^\prime < 4 \\

(X, 0, C) &\mbox{if } 4 \leq H^\prime < 5 \\

(C, 0, X) &\mbox{if } 5 \leq H^\prime < 6

\end{cases}

\end{align}




본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com